void swapfocus(const Arg *arg)
{
    if (!selmon->sel) {
        return;
    }

    if (selmon->pertag->prevclient[selmon->pertag->curtag] != NULL
        && ISVISIBLE(selmon->pertag->prevclient[selmon->pertag->curtag])) {
        focus(selmon->pertag->prevclient[selmon->pertag->curtag]);
        restack(selmon->pertag->prevclient[selmon->pertag->curtag]->mon);
    }
    else {
        Client *c = NULL;
        for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next);
        if (!c)
            for (c = selmon->clients; c && !ISVISIBLE(c); c = c->next);
        if (c) {
            focus(c);
            restack(selmon);
        }
    }
}

